Optimal Cache-Oblivious Implicit Dictionaries

نویسندگان

  • Gianni Franceschini
  • Roberto Grossi
چکیده

We consider the issues of implicitness and cache-obliviousness in the classical dictionary problem for n distinct keys over an unbounded and ordered universe. One finding in this paper is that of closing the longstanding open problem about the existence of an optimal implicit dictionary over an unbounded universe. Another finding is motivated by the antithetic features of implicit and cache-oblivious models in data structures. We show how to blend their best qualities achieving O(logn) time and O(logB n) block transfers for searching and for amortized updating, while using just n memory cells like sorted arrays and heaps. As a result, we avoid space wasting and provide fast data access at any level of the

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Optimal query/update tradeoffs in versioned dictionaries

External-memory dictionaries are a fundamental data structure in file systems and databases. Versioned (or fullypersistent) dictionaries have an associated version tree where queries can be performed at any version, updates can be performed on leaf versions, and any version can be ‘cloned’ by adding a child. Various query/update tradeoffs are known for unversioned dictionaries, many of them wit...

متن کامل

Cache-Oblivious Implicit Predecessor Dictionaries with the Working-Set Property

In this paper we present an implicit dynamic dictionary with the working-set property, supporting insert(e) and delete(e) in O(logn) time, predecessor(e) in O(log `p(e)) time, successor(e) in O(log `s(e)) time and search(e) in O(log min(`p(e), `e, `s(e))) time, where n is the number of elements stored in the dictionary, `e is the number of distinct elements searched for since element e was last...

متن کامل

Optimal Worst-Case Operations for Implicit Cache-Oblivious Search Trees

We close an open issue on dictionaries dating back to the sixthies. An array of n keys can be sorted so that searching takes O(log n) time. Alternatively, it can be organized as a heap so that inserting and deleting keys take O(log n) time. We show that these bounds can be simultaneously achieved in the worst case for searching and updating by suitably maintaining a permutation of the n keys in...

متن کامل

Hashing Based Dictionaries in Different Memory Models

Hashing based dictionaries are one of the most fundamental data structures in computer science, in both theory and practice. They have been intensively studied for decades, and numerous results have been obtained in many memory models. In this survey, we try to cover some basic approaches and techniques for designing hashing based dictionaries. We focus on three most popular memory models: the ...

متن کامل

Cache-Oblivious Dictionaries and Multimaps with Negligible Failure Probability

A dictionary (or map) is a key-value store that requires all keys be unique, and a multimap is a key-value store that allows for multiple values to be associated with the same key. We design hashing-based indexing schemes for dictionaries and multimaps that achieve worst-case optimal performance for lookups and updates, with minimal space overhead and sub-polynomial probability that the data st...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2003